#include <my_header.h>
// 通过pthread_testcancel方法， 手动添加一个取消点。
/* Usage: ./2_pthread_testcancel */

void * func(void *arg){
   while(1){
      pthread_testcancel();// 没有这句代码， 将一直 循环无法取消
   }
   return NULL;
}
int main()
{
   pthread_t  pid;
   int res = pthread_create(&pid, NULL, func, NULL);
   THREAD_ERROR_CHECK(res, "pthread_create");

   printf("main use cancel \n");
   int res_cancel = pthread_cancel(pid);
   THREAD_ERROR_CHECK(res_cancel, "pthread_cancel");

   int res_join = pthread_join(pid, NULL);
   THREAD_ERROR_CHECK(res_join, "pthread_join");

   return 0;
}

